/*

 Wasp Lexer and parser definition in ANTLR 3 format.

 Copyright (C) 2007 Ian Beveridge
 
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 as published by the Free Software Foundation; either version 2
 of the License, or (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 MA  02110-1301, USA.

 */ 

grammar wasp;

options
{
    output=AST;
    backtrack=true;
}

tokens
{
    METHOD;
    DEFN;
}

@header
{
package org.waspdev.waspc.grammar;
}

@lexer::header
{
package org.waspdev.waspc.grammar;
}

wasp
    : (  method
      |  definition
      )*
    ;

method
    : 'def'
    ;

definition
    : 'class' // Class, singleton or other.
    ;